As computer technology has advanced, computers have become increasingly powerful and the cost of this computing power has become increasingly affordable. As a result, computers are becoming increasingly commonplace in homes, businesses, and elsewhere throughout the world. Similarly, a wide variety of different computer platforms have evolved, including different computer hardware and different operating systems (typically software) running thereon.
The increasing number of computers and increasing computer power has also resulted in an increase in the types of software available for computers, as well as an increase in the functionality and performance of software. A wide variety of different software is available for running on different computers, and oftentimes a particular software package has multiple versions, each version for a particular type of computer or operating system.
While these advances have been beneficial to consumers, they have also made the design and testing of software increasingly difficult. The number of hours typically required to write a software program and test the program to ensure it is working properly have become very large, increasing the cost of developing the program. This increased cost must be absorbed by the developer or passed on to the purchaser of the program.
Thus, it would be beneficial to develop ways in which the time necessary to write and/or test software programs can be reduced. The API schema language and transformation techniques described herein help solve these and other problems.